
"""
datetime模块包括以下几个核心类
    date:       表示日期，包含年、月、日属性
    time:       表示时间，包含时、分、秒、微妙等属性
    datetime:   date和time的结合体, 可以同时表示日期和时间
    tiemdelta:  表示时间差，用于时间和时间的加减操作
"""

from datetime import date, time, datetime, timedelta

def date_test():
    #构造
    d = date.today()
    d2 = date(2025, 3, 7)
    d1 = date.fromisoformat("2025-07-18")
    # 属性
    print(d.year, d.month, d.day, d.weekday())
    # 格式化输出
    print(d.isoformat())
    print(d.strftime("%Y/%m/%d"))
    

def time_test():
    # 构造
    t = time(16,15,12)
    # 属性
    print(t.hour, t.minute, t.second, t.microsecond)
    # 格式化输出
    print(t.isoformat())
    print(t.strftime("%H/%M%S"))


def datetime_test():
    dt = datetime.now()
    dt2 = datetime.fromtimestamp(dt.timestamp())
    # 属性
    dt_date = dt.date()
    dt_time = dt.time()
    print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.timestamp())

    # 格式化输出
    print(dt.isoformat())
    print(dt.strftime("%Y-%m-%d"))


def timedelta_test():
    d1 = datetime.now()
    print(d1)
    d2 = d1 + timedelta(days=1, hours=1, minutes=1, seconds=1)
    print(d2)
    delta = d2 - d1
    print(delta.days, delta.seconds, delta.microseconds)

    
datetime_test()




